Nuprl Lemma : es-sends-iff_wf 11,40

es:event_system{i:l}, l:IdLnk, tgs:(Id List), da:fpf(Knd; k.Type), ds:fpf(Id; x.Type),
f:isect(((e':es-E(es). 
f:isect((es-isrcv(ese'))
f:isect( (es-lnk(ese') = l)
f:isect( (es-tag(ese' tgs)
f:isect( subtype_rel(es-valtype(ese'); fpf-cap(da; Kind-deq; es-kind(ese'); void)))
f:isect( (x:Id. subtype_rel(es-vartype(es; source(l); x); fpf-cap(ds; id-deq; x; top))));
f:isect(z.({e:es-E(es)| loc(e) = source(l Id} ((tg:Id
f:isect(z.({e:es-E(es)| loc(e) = source(l Id} ( fpf-cap(da; Kind-deq; rcv(l,tg); void
f:isect(z.({e:es-E(es)| loc(e) = source(l Id} ( fpf-cap()) List))).
with decls ds dasends on l from e include f(e) and only these for tags in tgs  prop{i:l} 
latex


Definitionst  T, P  Q, x:AB(x), es-tag(ese), ||as||, es-index(ese), es-E(es), b, IdLnk, s = t, Id, (x  l), x:A  B(x), P  Q, A c B, x:AB(x), True, void, Type, es-kind(ese), rcv(l,tg), <ab>, Knd, Kind-deq, x.A(x), xt(x), T, x:AB(x), f(a), x(s), fpf(Aa.B(a)), EqDecider(T), fpf-cap(feqxz), es-valtype(ese), es-val(ese), P  Q, P  Q, source(l), loc(e), False, A, event_system{i:l}, type List, isect(Ax.B(x)), alle-at(esie.P(e)), let x,y = A in B(x;y), t.1, case b of inl(x) => s(x) | inr(y) => t(y), if b then t else f fi , a < b, guard(T), sq_type(T), prop{i:l}, sqequal(st), destination(l), es-sender(ese), {x:AB(x)} , ge(ij), es-sends(esle), es-Msgl(esl), #$n, int_seg(ij), l[i], A  B, , es-lnk(ese), es-isrcv(ese), lelt(ijk), top, id-deq, es-vartype(esix), with decls ds dasends on l from e include f(e) and only these for tags in tgs
Lemmasevent system wf, es-kind wf, es-vartype wf, id-deq wf, top wf, alle-at wf, es-E wf, assert wf, es-isrcv wf, es-lnk wf, l member wf, subtype rel self, select wf, non neg length, int seg wf, length wf1, es-Msgl wf, es-sends wf, rcv wf, es-index wf, es-loc wf, es-sender wf, lsrc wf, ldst wf, IdLnk wf, IdLnk sq, es-loc-pred, es-loc-sender, Id wf, es-val wf, subtype rel wf, es-valtype wf, fpf-cap wf, squash wf, true wf, deq wf, fpf wf, Knd wf, Kind-deq wf, es-rcv-kind, es-tag wf

origin